| Package | Description |
|---|---|
| edu.claflin.finder.algo |
Contains the Algorithm code for finding bipartite subgraphs.
|
| edu.claflin.finder.logic |
Contains the data structure and processing code-base.
|
| edu.claflin.finder.logic.cond |
Contains Condition implementations for identifying subgraph types.
|
| Modifier and Type | Method and Description |
|---|---|
private Graph |
DepthFirstTraversalSearch.searchNode(Graph graph,
Graph subGraph,
Node node,
java.util.List<Node> visited)
Helper method to search for the SubGraphs.
|
private Graph |
BreadthFirstTraversalSearch.searchNode(Graph graph,
Node node)
Helper method to search for the SubGraphs.
|
| Modifier and Type | Method and Description |
|---|---|
private Graph |
DepthFirstTraversalSearch.searchNode(Graph graph,
Graph subGraph,
Node node,
java.util.List<Node> visited)
Helper method to search for the SubGraphs.
|
| Modifier and Type | Field and Description |
|---|---|
private Node |
Edge.destination
The node representing the destination.
|
private Node |
Edge.source
The node representing the source.
|
| Modifier and Type | Field and Description |
|---|---|
private java.util.ArrayList<Node> |
Graph.nodeList
The list of the nodes added to the graph.
|
| Modifier and Type | Method and Description |
|---|---|
Node |
Node.duplicate()
Returns a copy of this Node that is a new object in memory.
|
Node |
Edge.getDestination()
Access method for the Edge's destination.
|
Node |
Edge.getSource()
Access method for the Edge's source.
|
| Modifier and Type | Method and Description |
|---|---|
static java.util.ArrayList<java.util.ArrayList<Node>> |
BronKerboschBipartiteUtils.bipartiteDivision(Graph existingGraph)
Divides the given graph into bipartite sets.
|
static java.util.ArrayList<java.util.ArrayList<Node>> |
BronKerboschBipartiteUtils.constructArrayList(java.util.Set<Node> groupA,
java.util.Set<Node> groupB)
Constructs array list of array lists from sets.
|
java.util.List<Node> |
Graph.getAdjacencyList(Node node)
Obtains an adjacency list for the supplied node based on the Graph.
|
java.util.List<Node> |
Graph.getNodeList()
Returns the list of nodes in the graph.
|
java.util.ArrayList<Node> |
Graph.uniqueCopyNodeList()
Clone method that only clones the node list, done for convenience because lists don't have built in cloning.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
Graph.addNode(Node node)
Adds a node to the graph.
|
private void |
Graph.checkNode(Node node)
Verifies that the node is NOT in the graph.
|
boolean |
Graph.containsNode(Node node)
Checks if the graph contains the given node.
|
Edge |
Edge.duplicate(Node source,
Node destination)
Attempts to duplicate an Edge based on the supplied parameters.
|
java.util.List<Node> |
Graph.getAdjacencyList(Node node)
Obtains an adjacency list for the supplied node based on the Graph.
|
Edge |
Graph.getEdge(Node source,
Node destination)
Locates an Edge object in the edgeList and returns it.
|
int |
Graph.getNodeIndex(Node node)
Gets the index of a Node object in memory.
|
void |
Graph.removeNode(Node node)
Removes a node from the set.
|
private static boolean |
BronKerboschBipartiteUtils.satisfies(Graph existingGraph,
java.util.Set<Node> addSet,
java.util.Set<Node> compareSet,
Node current)
Private method for stepping through the adjacency lists and determining
if the graph is bipartite.
|
void |
Graph.transferEdgesContainingNodeFromGraph(Graph graph,
Node node)
Adds all edges containing the input node from the input graph to this graph,
provided that the other vertex is already within this graph.
|
void |
Graph.transpose(Node node1,
Node node2)
Transposes the specified nodes.
|
| Modifier and Type | Method and Description |
|---|---|
void |
Graph.addEdgesBetweenAllNodesInList(java.util.ArrayList<Node> list)
Adds edges in between all possible pair combinations of nodes in a list
if both nodes involved are present in the graph.
|
boolean |
Graph.addNodes(java.util.List<Node> nodes)
Adds a list of nodes to the graph.
|
boolean |
ConditionedGraph.addPartialGraph(java.util.List<Node> nodes,
java.util.List<Edge> edges)
Adds a partial graph to this graph.
|
boolean |
Graph.addPartialGraph(java.util.List<Node> nodes,
java.util.List<Edge> edges)
Adds a partial graph to this graph.
|
static java.util.ArrayList<java.util.ArrayList<Node>> |
BronKerboschBipartiteUtils.constructArrayList(java.util.Set<Node> groupA,
java.util.Set<Node> groupB)
Constructs array list of array lists from sets.
|
static java.util.ArrayList<java.util.ArrayList<Node>> |
BronKerboschBipartiteUtils.constructArrayList(java.util.Set<Node> groupA,
java.util.Set<Node> groupB)
Constructs array list of array lists from sets.
|
Graph |
Graph.getSubGraph(java.util.List<Node> nodes,
java.lang.String nameQualifier)
Returns a subGraph of this graph.
|
void |
Graph.intersect(java.util.List<Node> nodeList)
Intersects this graph's node list with the input list.
|
void |
Graph.removeEdgesBetweenAllNodesInList(java.util.ArrayList<Node> list)
Removes edges in between all possible pair combinations of nodes in a list
if both nodes involved are present in the graph.
|
private static boolean |
BronKerboschBipartiteUtils.satisfies(Graph existingGraph,
java.util.Set<Node> addSet,
java.util.Set<Node> compareSet,
Node current)
Private method for stepping through the adjacency lists and determining
if the graph is bipartite.
|
private static boolean |
BronKerboschBipartiteUtils.satisfies(Graph existingGraph,
java.util.Set<Node> addSet,
java.util.Set<Node> compareSet,
Node current)
Private method for stepping through the adjacency lists and determining
if the graph is bipartite.
|
private void |
ConditionedGraph.superAddPartialGraph(java.util.List<Node> nodes,
java.util.List<Edge> edges)
Private method for circumventing the condition restrictions.
|
| Constructor and Description |
|---|
Edge(Node source,
Node destination,
D data,
boolean undirected)
Initializes the Edge object.
|
| Constructor and Description |
|---|
Graph(java.lang.String graphName,
java.util.ArrayList<Node> nodeList,
java.util.ArrayList<Edge> edgeList)
Private constructor used by subGraph method.
|
| Modifier and Type | Method and Description |
|---|---|
private boolean |
BipartiteCondition.satisfies(Graph existingGraph,
java.util.Set<Node> addSet,
java.util.Set<Node> compareSet,
Node current)
Private method for stepping through the adjacency lists and determining
if the graph is bipartite.
|
| Modifier and Type | Method and Description |
|---|---|
private boolean |
BipartiteCondition.satisfies(Graph existingGraph,
java.util.Set<Node> addSet,
java.util.Set<Node> compareSet,
Node current)
Private method for stepping through the adjacency lists and determining
if the graph is bipartite.
|
private boolean |
BipartiteCondition.satisfies(Graph existingGraph,
java.util.Set<Node> addSet,
java.util.Set<Node> compareSet,
Node current)
Private method for stepping through the adjacency lists and determining
if the graph is bipartite.
|